package org.jdcenter.server.xb.metadata;

import java.util.List;

import org.jdcenter.server.xb.visitors.AbstractVisitor;
/**
 * @author miao
 * @since 2008-12-03
 *
 */
public class BeanMateData extends BeansMateData{
	
	private String beanName;
	private Class clazz;
	private List<ParameterMateData> constructorParameters; 
	private List<ParameterMateData> setterParameters;
	private String startName;
	private String stopName;
	private String disposeName;
	
	public BeanMateData(){
		super();
	}
	
	public BeanMateData(MateDataSet mateDataSet){
		super(mateDataSet);
	}
	
	public String getBeanName() {
		return beanName;
	}
	public void setBeanName(String beanName) {
		this.beanName = beanName;
	}
	
	public Class getClazz() {
		return clazz;
	}
	public void setClazz(Class clazz) {
		this.clazz = clazz;
	}
	public List<ParameterMateData> getConstructorParameters() {
		return constructorParameters;
	}
	public void setConstructorParameters(
			List<ParameterMateData> constructorParameters) {
		this.constructorParameters = constructorParameters;
	}
	public List<ParameterMateData> getSetterParameters() {
		return setterParameters;
	}
	public void setSetterParameters(List<ParameterMateData> setterParameters) {
		this.setterParameters = setterParameters;
	}
	public String getStartName() {
		return startName;
	}
	public void setStartName(String startName) {
		this.startName = startName;
	}
	public String getStopName() {
		return stopName;
	}
	public void setStopName(String stopName) {
		this.stopName = stopName;
	}
	public String getDisposeName() {
		return disposeName;
	}
	public void setDisposeName(String disposeName) {
		this.disposeName = disposeName;
	}
	
	public void accept(AbstractVisitor dm) {
		dm.visitMateData(this);
		if(mateData != null){
			mateData.accept(dm);
		}
	}
}
